1. Field
The current disclosure relates to switching devices and the processing of packets from a plurality of clients, including a best-effort client.
2. Background
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Arbiters are generally used in asynchronous circuits to select an order of access to a shared resource by a plurality of requests received from multiple ports or clients. Moreover, the arbiter prevents multiple operations from occurring at a rate that exceeds the capabilities of the resource. For example, if multiple devices request a resource, such as use of a processor, all at the same time, the arbiter governs both an order by which the devices are granted access to the resource as well as a rate at which the devices are granted access to the resource.
When determining an order for granting requests for a resource, arbiters typically are configured to factor in various considerations such as a priority of a given request, fairness among the devices requesting access to a resource, and the like. In a switching context, for example, packets received on different ports may have a different priority for processing, while processing resources for processing packets received at other ports need to be allocated fairly among the other ports.